from pyspark import SparkConf, SparkContext
import os
os.environ['PYSPARK_PYTHON'] = r"C:\Users\admin\AppData\Local\Programs\Python\Python38\python.exe"
conf = SparkConf().setMaster("local[*]").setAppName("test_spark")
sc = SparkContext(conf=conf)
# 准备一个RDD
rdd = sc.parallelize([1, 2, 3, 4, 5])
# map方法(算子)接收一个函数作为参数，这个函数会被应用到 RDD 中的每个元素上，并返回一个新的 RDD，其中包含了处理后的元素。
# 通过map方法将全部数据都乘以10
def func(data):
    return data * 10
# rdd2 = rdd.map(func)
# rdd2 = rdd.map(lambda x: x * 10)  # 使用lambda匿名函数
# print(rdd2.collect())
# 链式调用，返回值是新的RDD对象的算子，由于每个新RDD对象仍然支持算子方法，从而允许连续调用算子方法
rdd2 = rdd.map(lambda x: x * 10).map(lambda x: x + 5)
print(rdd2.collect())
